#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main()
//{
//    int brr[10] = { 0 };
//    int arr[] = { 17,18,5,4,6,1 };
//    int arrSize = sizeof(arr) / sizeof(arr[0]);
//    int index = 0;
//    for (int i = 0; i < arrSize; ++i)
//    {
//        int max = 0;
//        for (int j = i + 1; j < arrSize; ++j)
//        {
//            if (arr[j] > max)
//            {
//                max = arr[j];
//            }
//            if (j == arrSize - 1)
//            {
//                brr[index++] = -1;
//                return brr;
//            }
//        }
//        brr[index++] = max;
//    }
//	return 0;
//}


//
//int main()
//{
//	int arr[100][100] = { 0 };
//	int x = 0;
//	scanf("%d", &x);
//	for (int i = 0; i < x; ++i)
//	{
//		for (int j = 0; j < x; ++j)
//		{
//			arr[i][j] = 1;
//		}
//	}		  
//	for (int i = 2; i < x; ++i)
//	{
//		for (int j = 1; j < i; ++j)
//		{
//			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
//		}
//	}
//	for (int i = 0; i < x; ++i)
//	{
//		for (int k = 0; k < x - i - 1; ++k)
//		{
//			printf("  ");
//		}
//		for (int j = 0; j <= i; ++j)
//		{
//			printf("%4d", *(*(arr + i) + j));
//		}
//		printf("\n");
//	}
//	return 0;
//}

#include <string.h>


//int main()
//{
//    char s[] = "ymbgaraibkfmvocpizdydugvalagaivdbfsfbepeyccqfepzvtpyxtbadkhmwmoswrcxnargtlswqemafandgkmydtimuzvjwxvlfwlhvkrgcsithaqlcvrihrwqkpjdhgfgreqoxzfvhjzojhghfwbvpfzectwwhexthbsndovxejsntmjihchaotbgcysfdaojkjldprwyrnischrgmtvjcorypvopfmegizfkvudubnejzfqffvgdoxohuinkyygbdzmshvyqyhsozwvlhevfepdvafgkqpkmcsikfyxczcovrmwqxxbnhfzcjjcpgzjjfateajnnvlbwhyppdleahgaypxidkpwmfqwqyofwdqgxhjaxvyrzupfwesmxbjszolgwqvfiozofncbohduqgiswuiyddmwlwubetyaummenkdfptjczxemryuotrrymrfdxtrebpbjtpnuhsbnovhectpjhfhahbqrfbyxggobsweefcwxpqsspyssrmdhuelkkvyjxswjwofngpwfxvknkjviiavorwyfzlnktmfwxkvwkrwdcxjfzikdyswsuxegmhtnxjraqrdchaauazfhtklxsksbhwgjphgbasfnlwqwukprgvihntsyymdrfovaszjywuqygpvjtvlsvvqbvzsmgweiayhlubnbsitvfxawhfmfiatxvqrcwjshvovxknnxnyyfexqycrlyksderlqarqhkxyaqwlwoqcribumrqjtelhwdvaiysgjlvksrfvjlcaiwrirtkkxbwgicyhvakxgdjwnwmubkiazdjkfmotglclqndqjxethoutvjchjbkoasnnfbgrnycucfpeovruguzumgmgddqwjgdvaujhyqsqtoexmnfuluaqbxoofvotvfoiexbnprrxptchmlctzgqtkivsilwgwgvpidpvasurraqfkcmxhdapjrlrnkbklwkrvoaziznlpor";
//    char t[] = "qhxepbshlrhoecdaodgpousbzfcqjxulatciapuftffahhlmxbufgjuxstfjvljybfxnenlacmjqoymvamphpxnolwijwcecgwbcjhgdybfffwoygikvoecdggplfohemfypxfsvdrseyhmvkoovxhdvoavsqqbrsqrkqhbtmgwaurgisloqjixfwfvwtszcxwktkwesaxsmhsvlitegrlzkvfqoiiwxbzskzoewbkxtphapavbyvhzvgrrfriddnsrftfowhdanvhjvurhljmpxvpddxmzfgwwpkjrfgqptrmumoemhfpojnxzwlrxkcafvbhlwrapubhveattfifsmiounhqusvhywnxhwrgamgnesxmzliyzisqrwvkiyderyotxhwspqrrkeczjysfujvovsfcfouykcqyjoobfdgnlswfzjmyucaxuaslzwfnetekymrwbvponiaojdqnbmboldvvitamntwnyaeppjaohwkrisrlrgwcjqqgxeqerjrbapfzurcwxhcwzugcgnirkkrxdthtbmdqgvqxilllrsbwjhwqszrjtzyetwubdrlyakzxcveufvhqugyawvkivwonvmrgnchkzdysngqdibhkyboyftxcvvjoggecjsajbuqkjjxfvynrjsnvtfvgpgveycxidhhfauvjovmnbqgoxsafknluyimkczykwdgvqwlvvgdmufxdypwnajkncoynqticfetcdafvtqszuwfmrdggifokwmkgzuxnhncmnsstffqpqbplypapctctfhqpihavligbrutxmmygiyaklqtakdidvnvrjfteazeqmbgklrgrorudayokxptswwkcircwuhcavhdparjfkjypkyxhbgwxbkvpvrtzjaetahmxevmkhdfyidhrdeejapfbafwmdqjqszwnwzgclitdhlnkaiyldwkwwzvhyorgbysyjbxsspnjdewjxbhpsvj";
//    int arr[27] = { 0 };
//    char a = 0;
//    for (int i = 0; i < strlen(t); ++i)
//    {
//        ++arr[ t[i] - 97 ];
//    }
//    for (int i = 0; i < strlen(s); ++i)
//    {
//        --arr[ s[i] - 97 ];
//    }
//    for (int i = 0; i < 27; ++i)
//    {
//        if (arr[i] == 1)
//        {
//            printf("%c", a + 'a' + arr[i]);
//        }
//    }
//    printf("%c", *t + 'a');
//	return 0;
//}

//
//int arr[27] = { 0 };
//char a = 0;
//int
//for (int i = 0; i < strlen(t); ++i)
//{
//    ++arr[t[i] - 'a'];
//}
//for (int i = 0; i < strlen(s); ++i)
//{
//    --arr[s[i] - 'a'];
//}
//for (int i = 0; i < 27; ++i)
//{
//    if (arr[i] == 1)
//    {
//        return i + 'a';
//    }
//}
//return *t;

//
//int main()
//{
//    char s[] = "leetcode";
//    int arr[27] = { 0 };
//    for (int i = 0; i < strlen(s); ++i)
//    {
//        ++arr[s[i] - 'a'];
//    }
//    for (int i = 0; i < 27; ++i)
//    {
//        if (arr[i] == 1)
//        {
//            return i;
//        }
//    }
//    return -1;
//	return 0;
//}



int main()
{
    char s[] = "?zs";
    int arr[27] = { 0 };
    static char brr[100] = { 0 };
    for (int i = 0; i < strlen(s); ++i)
    {
        if (s[i] != '?')
        {
            ++arr[s[i] - 97];
        }
    }
    for (int i = 0; i < strlen(s); ++i)
    {
        int j = 0;
        if (s[i] == '?')
        {
            while (arr[j] == 0)
            {
                brr[i] = arr[j] + 'a';
                if (brr[i] == arr[j] + 'a')
                {
                    break;
                }
                j++;
            }
            continue;
        }
        brr[i] = s  [i] + 'a';
    }
	return 0;
}